// pages/building/building.js
import qqmapsdk from "../../libs/qqmap/index"

Page({

    /**
     * 页面的初始数据
     */
    data: {
        list: []
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log(options)
        //调用地址解析接口
        qqmapsdk.geocoder({
            //获取表单传入地址
            address: options.name, //地址参数，例：固定地址，address: '北京市海淀区彩和坊路海淀西大街74号'
            success: (res) => {//成功后的回调
                console.log(res);
                var res = res.result;
                var latitude = res.location.lat;
                var longitude = res.location.lng;
                this.reverseGeocoder(latitude, longitude, res.title)
            }
        });
    },

    reverseGeocoder(latitude, longitude, street) {
        // 逆地址解析 根据经纬度得到地址名称
        qqmapsdk.reverseGeocoder({
            location: { latitude, longitude },
            get_poi: 1, //是否返回周边POI列表：1.返回；0不返回(默认),非必须参数
            poi_options: "policy=1",
            success: (result) => {//成功后的回调
                console.log(result)
                if (result.status === 0) {
                    // 解析结果，获取小区内的POI（兴趣点）信息
                    var pois = result.result.pois;
                    var buildings = [];
                    // 遍历POI信息，提取楼栋名称
                    for (var i = 0; i < pois.length; i++) {
                        var poi = pois[i];
                        if (poi.category.indexOf('住宅区') === -1 && poi.address.indexOf(street) !== -1) {
                            var building = poi.title.replace(/(\d+)(栋|幢|号楼)/g, "$1");
                            buildings.push(building);
                        }
                    }
                    // 输出楼栋信息
                    console.log(buildings);
                } else {
                    // 没有解析到小区信息
                    console.log("未找到小区信息");
                }
            }
        });
    },
    search(latitude, longitude, name) {
        qqmapsdk.search({
            keyword: name,
            location: { latitude, longitude },
            page_size: 5,
            success: (res) => {
                console.log(res)
                this.setData({
                    list: [...this.data.list, ...res.data]
                })
            }
        })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})